using System;
using System.Collections.Generic;
using System.Reflection;
using System.Runtime.InteropServices;

using ILRuntime.CLR.TypeSystem;
using ILRuntime.CLR.Method;
using ILRuntime.Runtime.Enviorment;
using ILRuntime.Runtime.Intepreter;
using ILRuntime.Runtime.Stack;
using ILRuntime.Reflection;
using ILRuntime.CLR.Utils;
using System.Linq;

namespace ILRuntime.Runtime.Generated
{
    unsafe class LocalSetting_Binding
    {
        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
        {
            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
            MethodBase method;
            FieldInfo field;
            Type[] args;
            Type type = typeof(global::LocalSetting);
            args = new Type[]{typeof(System.String)};
            method = type.GetMethod("Initial", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, Initial_0);
            args = new Type[]{};
            method = type.GetMethod("get_Setting", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, get_Setting_1);
            args = new Type[]{};
            method = type.GetMethod("Clear", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, Clear_2);
            args = new Type[]{typeof(System.String)};
            method = type.GetMethod("GetUrl", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, GetUrl_3);
            args = new Type[]{typeof(System.String), typeof(System.String)};
            method = type.GetMethod("GetString", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, GetString_4);
            args = new Type[]{typeof(System.String), typeof(System.String)};
            method = type.GetMethod("GetInt", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, GetInt_5);
            args = new Type[]{typeof(System.String), typeof(System.String), typeof(System.String)};
            method = type.GetMethod("SetString", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, SetString_6);
            args = new Type[]{typeof(System.String), typeof(System.String), typeof(System.Int32)};
            method = type.GetMethod("SetInt", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, SetInt_7);
            args = new Type[]{};
            method = type.GetMethod("Save", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, Save_8);
            args = new Type[]{typeof(System.String)};
            method = type.GetMethod("RemoveBlock", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, RemoveBlock_9);

            field = type.GetField("platform", flag);
            app.RegisterCLRFieldGetter(field, get_platform_0);
            app.RegisterCLRFieldSetter(field, set_platform_0);
            app.RegisterCLRFieldBinding(field, CopyToStack_platform_0, AssignFromStack_platform_0);
            field = type.GetField("bundleUrl", flag);
            app.RegisterCLRFieldGetter(field, get_bundleUrl_1);
            app.RegisterCLRFieldSetter(field, set_bundleUrl_1);
            app.RegisterCLRFieldBinding(field, CopyToStack_bundleUrl_1, AssignFromStack_bundleUrl_1);
            field = type.GetField("versionUrl", flag);
            app.RegisterCLRFieldGetter(field, get_versionUrl_2);
            app.RegisterCLRFieldSetter(field, set_versionUrl_2);
            app.RegisterCLRFieldBinding(field, CopyToStack_versionUrl_2, AssignFromStack_versionUrl_2);
            field = type.GetField("libsUrl", flag);
            app.RegisterCLRFieldGetter(field, get_libsUrl_3);
            app.RegisterCLRFieldSetter(field, set_libsUrl_3);
            app.RegisterCLRFieldBinding(field, CopyToStack_libsUrl_3, AssignFromStack_libsUrl_3);
            field = type.GetField("baseurl", flag);
            app.RegisterCLRFieldGetter(field, get_baseurl_4);
            app.RegisterCLRFieldSetter(field, set_baseurl_4);
            app.RegisterCLRFieldBinding(field, CopyToStack_baseurl_4, AssignFromStack_baseurl_4);
            field = type.GetField("persistentDataPath", flag);
            app.RegisterCLRFieldGetter(field, get_persistentDataPath_5);
            app.RegisterCLRFieldSetter(field, set_persistentDataPath_5);
            app.RegisterCLRFieldBinding(field, CopyToStack_persistentDataPath_5, AssignFromStack_persistentDataPath_5);
            field = type.GetField("streamPath", flag);
            app.RegisterCLRFieldGetter(field, get_streamPath_6);
            app.RegisterCLRFieldSetter(field, set_streamPath_6);
            app.RegisterCLRFieldBinding(field, CopyToStack_streamPath_6, AssignFromStack_streamPath_6);
            field = type.GetField("assetsVersion", flag);
            app.RegisterCLRFieldGetter(field, get_assetsVersion_7);
            app.RegisterCLRFieldSetter(field, set_assetsVersion_7);
            app.RegisterCLRFieldBinding(field, CopyToStack_assetsVersion_7, AssignFromStack_assetsVersion_7);
            field = type.GetField("firstPack", flag);
            app.RegisterCLRFieldGetter(field, get_firstPack_8);
            app.RegisterCLRFieldSetter(field, set_firstPack_8);
            app.RegisterCLRFieldBinding(field, CopyToStack_firstPack_8, AssignFromStack_firstPack_8);
            field = type.GetField("AssetsPath", flag);
            app.RegisterCLRFieldGetter(field, get_AssetsPath_9);
            app.RegisterCLRFieldSetter(field, set_AssetsPath_9);
            app.RegisterCLRFieldBinding(field, CopyToStack_AssetsPath_9, AssignFromStack_AssetsPath_9);
            field = type.GetField("RecordPath", flag);
            app.RegisterCLRFieldGetter(field, get_RecordPath_10);
            app.RegisterCLRFieldSetter(field, set_RecordPath_10);
            app.RegisterCLRFieldBinding(field, CopyToStack_RecordPath_10, AssignFromStack_RecordPath_10);
            field = type.GetField("assetsOption", flag);
            app.RegisterCLRFieldGetter(field, get_assetsOption_11);
            app.RegisterCLRFieldSetter(field, set_assetsOption_11);
            app.RegisterCLRFieldBinding(field, CopyToStack_assetsOption_11, AssignFromStack_assetsOption_11);
            field = type.GetField("NetScetion", flag);
            app.RegisterCLRFieldGetter(field, get_NetScetion_12);
            app.RegisterCLRFieldSetter(field, set_NetScetion_12);
            app.RegisterCLRFieldBinding(field, CopyToStack_NetScetion_12, AssignFromStack_NetScetion_12);
            field = type.GetField("IsDebug", flag);
            app.RegisterCLRFieldGetter(field, get_IsDebug_13);
            app.RegisterCLRFieldSetter(field, set_IsDebug_13);
            app.RegisterCLRFieldBinding(field, CopyToStack_IsDebug_13, AssignFromStack_IsDebug_13);
            field = type.GetField("IsEditor", flag);
            app.RegisterCLRFieldGetter(field, get_IsEditor_14);
            app.RegisterCLRFieldSetter(field, set_IsEditor_14);
            app.RegisterCLRFieldBinding(field, CopyToStack_IsEditor_14, AssignFromStack_IsEditor_14);
            field = type.GetField("IsChannel", flag);
            app.RegisterCLRFieldGetter(field, get_IsChannel_15);
            app.RegisterCLRFieldSetter(field, set_IsChannel_15);
            app.RegisterCLRFieldBinding(field, CopyToStack_IsChannel_15, AssignFromStack_IsChannel_15);
            field = type.GetField("Changed", flag);
            app.RegisterCLRFieldGetter(field, get_Changed_16);
            app.RegisterCLRFieldSetter(field, set_Changed_16);
            app.RegisterCLRFieldBinding(field, CopyToStack_Changed_16, AssignFromStack_Changed_16);


            app.RegisterCLRCreateDefaultInstance(type, () => new global::LocalSetting());
            app.RegisterCLRCreateArrayInstance(type, s => new global::LocalSetting[s]);

            args = new Type[]{};
            method = type.GetConstructor(flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, Ctor_0);

        }


        static StackObject* Initial_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 1);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            System.String @UrlSetting = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);


            global::LocalSetting.Initial(@UrlSetting);

            return __ret;
        }

        static StackObject* get_Setting_1(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* __ret = ILIntepreter.Minus(__esp, 0);


            var result_of_this_method = global::LocalSetting.Setting;

            object obj_result_of_this_method = result_of_this_method;
            if(obj_result_of_this_method is CrossBindingAdaptorType)
            {    
                return ILIntepreter.PushObject(__ret, __mStack, ((CrossBindingAdaptorType)obj_result_of_this_method).ILInstance);
            }
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static StackObject* Clear_2(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* __ret = ILIntepreter.Minus(__esp, 0);


            global::LocalSetting.Clear();

            return __ret;
        }

        static StackObject* GetUrl_3(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 1);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            System.String @name = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);


            var result_of_this_method = global::LocalSetting.GetUrl(@name);

            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static StackObject* GetString_4(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 2);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            System.String @name = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            System.String @block = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);


            var result_of_this_method = global::LocalSetting.GetString(@block, @name);

            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static StackObject* GetInt_5(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 2);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            System.String @name = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            System.String @block = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);


            var result_of_this_method = global::LocalSetting.GetInt(@block, @name);

            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static StackObject* SetString_6(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 3);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            System.String @value = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            System.String @name = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
            System.String @block = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);


            global::LocalSetting.SetString(@block, @name, @value);

            return __ret;
        }

        static StackObject* SetInt_7(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 3);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            System.Int32 @value = ptr_of_this_method->Value;

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            System.String @name = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
            System.String @block = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);


            global::LocalSetting.SetInt(@block, @name, @value);

            return __ret;
        }

        static StackObject* Save_8(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* __ret = ILIntepreter.Minus(__esp, 0);


            global::LocalSetting.Save();

            return __ret;
        }

        static StackObject* RemoveBlock_9(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 1);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            System.String @block = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);


            global::LocalSetting.RemoveBlock(@block);

            return __ret;
        }


        static object get_platform_0(ref object o)
        {
            return global::LocalSetting.platform;
        }

        static StackObject* CopyToStack_platform_0(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = global::LocalSetting.platform;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_platform_0(ref object o, object v)
        {
            global::LocalSetting.platform = (System.String)v;
        }

        static StackObject* AssignFromStack_platform_0(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.String @platform = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            global::LocalSetting.platform = @platform;
            return ptr_of_this_method;
        }

        static object get_bundleUrl_1(ref object o)
        {
            return global::LocalSetting.bundleUrl;
        }

        static StackObject* CopyToStack_bundleUrl_1(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = global::LocalSetting.bundleUrl;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_bundleUrl_1(ref object o, object v)
        {
            global::LocalSetting.bundleUrl = (System.String)v;
        }

        static StackObject* AssignFromStack_bundleUrl_1(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.String @bundleUrl = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            global::LocalSetting.bundleUrl = @bundleUrl;
            return ptr_of_this_method;
        }

        static object get_versionUrl_2(ref object o)
        {
            return global::LocalSetting.versionUrl;
        }

        static StackObject* CopyToStack_versionUrl_2(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = global::LocalSetting.versionUrl;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_versionUrl_2(ref object o, object v)
        {
            global::LocalSetting.versionUrl = (System.String)v;
        }

        static StackObject* AssignFromStack_versionUrl_2(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.String @versionUrl = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            global::LocalSetting.versionUrl = @versionUrl;
            return ptr_of_this_method;
        }

        static object get_libsUrl_3(ref object o)
        {
            return global::LocalSetting.libsUrl;
        }

        static StackObject* CopyToStack_libsUrl_3(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = global::LocalSetting.libsUrl;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_libsUrl_3(ref object o, object v)
        {
            global::LocalSetting.libsUrl = (System.String)v;
        }

        static StackObject* AssignFromStack_libsUrl_3(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.String @libsUrl = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            global::LocalSetting.libsUrl = @libsUrl;
            return ptr_of_this_method;
        }

        static object get_baseurl_4(ref object o)
        {
            return global::LocalSetting.baseurl;
        }

        static StackObject* CopyToStack_baseurl_4(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = global::LocalSetting.baseurl;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_baseurl_4(ref object o, object v)
        {
            global::LocalSetting.baseurl = (System.String)v;
        }

        static StackObject* AssignFromStack_baseurl_4(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.String @baseurl = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            global::LocalSetting.baseurl = @baseurl;
            return ptr_of_this_method;
        }

        static object get_persistentDataPath_5(ref object o)
        {
            return global::LocalSetting.persistentDataPath;
        }

        static StackObject* CopyToStack_persistentDataPath_5(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = global::LocalSetting.persistentDataPath;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_persistentDataPath_5(ref object o, object v)
        {
            global::LocalSetting.persistentDataPath = (System.String)v;
        }

        static StackObject* AssignFromStack_persistentDataPath_5(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.String @persistentDataPath = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            global::LocalSetting.persistentDataPath = @persistentDataPath;
            return ptr_of_this_method;
        }

        static object get_streamPath_6(ref object o)
        {
            return global::LocalSetting.streamPath;
        }

        static StackObject* CopyToStack_streamPath_6(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = global::LocalSetting.streamPath;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_streamPath_6(ref object o, object v)
        {
            global::LocalSetting.streamPath = (System.String)v;
        }

        static StackObject* AssignFromStack_streamPath_6(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.String @streamPath = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            global::LocalSetting.streamPath = @streamPath;
            return ptr_of_this_method;
        }

        static object get_assetsVersion_7(ref object o)
        {
            return global::LocalSetting.assetsVersion;
        }

        static StackObject* CopyToStack_assetsVersion_7(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = global::LocalSetting.assetsVersion;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_assetsVersion_7(ref object o, object v)
        {
            global::LocalSetting.assetsVersion = (System.String)v;
        }

        static StackObject* AssignFromStack_assetsVersion_7(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.String @assetsVersion = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            global::LocalSetting.assetsVersion = @assetsVersion;
            return ptr_of_this_method;
        }

        static object get_firstPack_8(ref object o)
        {
            return global::LocalSetting.firstPack;
        }

        static StackObject* CopyToStack_firstPack_8(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = global::LocalSetting.firstPack;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_firstPack_8(ref object o, object v)
        {
            global::LocalSetting.firstPack = (System.String)v;
        }

        static StackObject* AssignFromStack_firstPack_8(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.String @firstPack = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            global::LocalSetting.firstPack = @firstPack;
            return ptr_of_this_method;
        }

        static object get_AssetsPath_9(ref object o)
        {
            return global::LocalSetting.AssetsPath;
        }

        static StackObject* CopyToStack_AssetsPath_9(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = global::LocalSetting.AssetsPath;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_AssetsPath_9(ref object o, object v)
        {
            global::LocalSetting.AssetsPath = (System.String)v;
        }

        static StackObject* AssignFromStack_AssetsPath_9(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.String @AssetsPath = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            global::LocalSetting.AssetsPath = @AssetsPath;
            return ptr_of_this_method;
        }

        static object get_RecordPath_10(ref object o)
        {
            return global::LocalSetting.RecordPath;
        }

        static StackObject* CopyToStack_RecordPath_10(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = global::LocalSetting.RecordPath;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_RecordPath_10(ref object o, object v)
        {
            global::LocalSetting.RecordPath = (System.String)v;
        }

        static StackObject* AssignFromStack_RecordPath_10(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.String @RecordPath = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            global::LocalSetting.RecordPath = @RecordPath;
            return ptr_of_this_method;
        }

        static object get_assetsOption_11(ref object o)
        {
            return global::LocalSetting.assetsOption;
        }

        static StackObject* CopyToStack_assetsOption_11(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = global::LocalSetting.assetsOption;
            object obj_result_of_this_method = result_of_this_method;
            if(obj_result_of_this_method is CrossBindingAdaptorType)
            {    
                return ILIntepreter.PushObject(__ret, __mStack, ((CrossBindingAdaptorType)obj_result_of_this_method).ILInstance);
            }
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_assetsOption_11(ref object o, object v)
        {
            global::LocalSetting.assetsOption = (global::AssetsOption)v;
        }

        static StackObject* AssignFromStack_assetsOption_11(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            global::AssetsOption @assetsOption = (global::AssetsOption)typeof(global::AssetsOption).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            global::LocalSetting.assetsOption = @assetsOption;
            return ptr_of_this_method;
        }

        static object get_NetScetion_12(ref object o)
        {
            return global::LocalSetting.NetScetion;
        }

        static StackObject* CopyToStack_NetScetion_12(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = global::LocalSetting.NetScetion;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_NetScetion_12(ref object o, object v)
        {
            global::LocalSetting.NetScetion = (System.String)v;
        }

        static StackObject* AssignFromStack_NetScetion_12(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.String @NetScetion = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            global::LocalSetting.NetScetion = @NetScetion;
            return ptr_of_this_method;
        }

        static object get_IsDebug_13(ref object o)
        {
            return global::LocalSetting.IsDebug;
        }

        static StackObject* CopyToStack_IsDebug_13(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = global::LocalSetting.IsDebug;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method ? 1 : 0;
            return __ret + 1;
        }

        static void set_IsDebug_13(ref object o, object v)
        {
            global::LocalSetting.IsDebug = (System.Boolean)v;
        }

        static StackObject* AssignFromStack_IsDebug_13(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.Boolean @IsDebug = ptr_of_this_method->Value == 1;
            global::LocalSetting.IsDebug = @IsDebug;
            return ptr_of_this_method;
        }

        static object get_IsEditor_14(ref object o)
        {
            return global::LocalSetting.IsEditor;
        }

        static StackObject* CopyToStack_IsEditor_14(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = global::LocalSetting.IsEditor;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method ? 1 : 0;
            return __ret + 1;
        }

        static void set_IsEditor_14(ref object o, object v)
        {
            global::LocalSetting.IsEditor = (System.Boolean)v;
        }

        static StackObject* AssignFromStack_IsEditor_14(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.Boolean @IsEditor = ptr_of_this_method->Value == 1;
            global::LocalSetting.IsEditor = @IsEditor;
            return ptr_of_this_method;
        }

        static object get_IsChannel_15(ref object o)
        {
            return global::LocalSetting.IsChannel;
        }

        static StackObject* CopyToStack_IsChannel_15(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = global::LocalSetting.IsChannel;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method ? 1 : 0;
            return __ret + 1;
        }

        static void set_IsChannel_15(ref object o, object v)
        {
            global::LocalSetting.IsChannel = (System.Boolean)v;
        }

        static StackObject* AssignFromStack_IsChannel_15(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.Boolean @IsChannel = ptr_of_this_method->Value == 1;
            global::LocalSetting.IsChannel = @IsChannel;
            return ptr_of_this_method;
        }

        static object get_Changed_16(ref object o)
        {
            return global::LocalSetting.Changed;
        }

        static StackObject* CopyToStack_Changed_16(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = global::LocalSetting.Changed;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method ? 1 : 0;
            return __ret + 1;
        }

        static void set_Changed_16(ref object o, object v)
        {
            global::LocalSetting.Changed = (System.Boolean)v;
        }

        static StackObject* AssignFromStack_Changed_16(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.Boolean @Changed = ptr_of_this_method->Value == 1;
            global::LocalSetting.Changed = @Changed;
            return ptr_of_this_method;
        }



        static StackObject* Ctor_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* __ret = ILIntepreter.Minus(__esp, 0);

            var result_of_this_method = new global::LocalSetting();

            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }


    }
}
